Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Dockerise testing for dev #1093

Open
wants to merge 4 commits into
base: main
Choose a base branch
from

Conversation

Scott-Simmons
Copy link
Contributor

@Scott-Simmons Scott-Simmons commented Nov 14, 2024

Related: #994.

Easiest to go commit by commit. Uses 3 "flows"

(1) Test locally on specific python version Is useful for quick iteration.
(2) Test locally on the discoverable python versions Is a useful sanity check for ensuring new development works on multiple versions of python.
(3) Test in dedicated testing environment with guaranteed availability of python versions Is a good final sanity check. Takes longer, but creates a reproducible environment to test off and is a good 'source of truth'.

1 Test locally on specific python version

Testing time for one version is ~1 min. Note this includes the speedup from cached packages

2 Test locally on the discoverable python versions

image

Testing time across versions 3.7-3.11 is ~4 mins, but note that this speedup includes the speedup from cached packages.

Also note that python 3.7 fails on my machine due to some idiosyncratic issue related to my setup py37/lib/python3.7/site-packages/pip/_vendor/typing_extensions.py ... getting same error as here but not using vscode. Not an issue for me personally but shows an example of why testing within an isolated testing environment could be a good way to ensure reproducible version targeting.

3 Test in dedicated testing environment with guaranteed availability of python versions

image

Build time for testenv ~5 mins but this is a once-off build for the testenv.

Testing time across versions 3.7-->3.11 is ~6 mins.

@Scott-Simmons Scott-Simmons force-pushed the dockerise-testing-for-dev branch 2 times, most recently from 469f111 to 6773ae4 Compare November 14, 2024 21:54
@Scott-Simmons Scott-Simmons marked this pull request as ready for review November 14, 2024 21:54
@Scott-Simmons Scott-Simmons marked this pull request as draft November 14, 2024 21:58
Add image for testing tsfresh with multiple python versions.

This can be a good final sanity check e.g. before a release.
Targets include

1. Building dockerised testing environment

2. Testing tsfresh within testing environment

3. Testing tsfresh locally with tox with available python versions

4. Testing tsfresh locally with current active python version

5. Cleaning build artifacts

6. Formatting. This is so that changes can be made before pushing the changes up the remote to trigger the formatting checks. TODO: pre-commit hooks should probs be added too.
Change docs to reflect the new testing invokations.
@Scott-Simmons Scott-Simmons marked this pull request as ready for review November 15, 2024 05:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant